package com.tfswx.jkgl.designer.dto.jkgl;

import com.tfswx.jkgl.designer.validation.ValueRange;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author ricky
 * @date 2021/12/5
 */
@Data
public class JkdyAddInputDTO {

    /**
     * 接口名称
     */
    @ApiModelProperty(value = "接口名称")
    @NotBlank(message = "jkmc-不能为空")
    private String jkmc;

    /**
     * 接口分类编码
     */
    @ApiModelProperty(value = "接口分类编码")
    @NotBlank(message = "jkflbm-不能为空")
    private String jkflbm;

    /**
     * 接口描述
     */
    @ApiModelProperty(value = "接口描述")
    @NotBlank(message = "jkms-不能为空")
    private String jkms;

    /**
     * 请求方式，get，post
     */
    @ApiModelProperty(value = "请求方式，get，post")
    @NotBlank(message = "qqfs-不能为空")
    @ValueRange(value = {"get", "post"}, message = "qqfs-值不正确")
    private String qqfs;

    /**
     * 接口类型，删除、保存、查询、分页查询
     */
    @ApiModelProperty(value = "接口类型，0-删除、1-新增、2-修改、3-查询、4-分页查询")
    @NotBlank(message = "jklx-不能为空")
    @ValueRange(value = {"0", "1", "2", "3", "4"}, message = "jklx-值不正确")
    private String jklx;

    /**
     * 入参配置
     */
    @ApiModelProperty(value = "入参配置")
    @NotNull(message = "rcpz-不能为空")
    private Object rcpz;

    /**
     * 出参配置
     */
    @ApiModelProperty(value = "出参配置")
    @NotNull(message = "ccpz-不能为空")
    private Object ccpz;

    /**
     * 入参示例
     */
    @ApiModelProperty(value = "入参示例")
    @NotNull(message = "rcsl-不能为空")
    private Object rcsl;

    /**
     * 出参示例
     */
    @ApiModelProperty(value = "出参示例")
    @NotNull(message = "ccsl-不能为空")
    private Object ccsl;

    /**
     * 处理程序类型，sql语句，请求地址，数据模型
     */
    @ApiModelProperty(value = "处理程序类型，sql语句，请求地址，数据模型")
    @NotBlank(message = "clcxlx-不能为空")
    @ValueRange(value = {"sql", "sjmx", "wbcx"})
    private String clcxlx;

    /**
     * 处理程序参数
     */
    @ApiModelProperty(value = "处理程序参数")
    @NotBlank(message = "clcxcs-不能为空")
    private String clcxcs;

    /**
     * 是否启用
     */
    @ApiModelProperty(value = "是否启用")
    @NotBlank(message = "sfqy-不能为空")
    @ValueRange(value = {"N", "Y"}, message = "sfqy-值不正确")
    private String sfqy;


    /**
     * 复杂度
     */
    @ApiModelProperty(value = "复杂度")
    @Min(value = 1, message = "fzd-最小值为1")
    @Max(value = 5, message = "fzd-最大值为5")
    private Integer fzd;
    /**
     * 是否内部接口
     */
    @ApiModelProperty(value = "是否内部接口（N/Y）")
    @NotBlank(message = "sfnbjk-不能为空")
    @ValueRange(value = {"N", "Y"}, message = "sfnbjk-值不正确")
    private String sfnbjk;
    /**
     * 关联数据模型
     */
    @ApiModelProperty(value = "关联数据模型")
    private String glsjmx;
    /**
     * 业务逻辑描述
     */
    @ApiModelProperty(value = "业务逻辑描述")
    private String ywljms;
    // /**
    //  * 设计人员编码
    //  */
    // @ApiModelProperty(value = "设计人员编码")
    // private String sjrybm;
    /**
     * 设计人员名称
     */
    @ApiModelProperty(value = "设计人员名称")
    private String sjrymc;
    // /**
    //  * 开发人员编码
    //  */
    // @ApiModelProperty(value = "开发人员编码")
    // private String kfrybm;
    /**
     * 开发人员名称
     */
    @ApiModelProperty(value = "开发人员名称")
    private String kfrymc;
    // /**
    //  * 测试人员编码
    //  */
    // @ApiModelProperty(value = "测试人员编码")
    // private String csrybm;
    /**
     * 测试人员名称
     */
    @ApiModelProperty(value = "测试人员名称")
    private String csrymc;

}
